package com.tuanzi.loan.business.service.galaxycard;

import com.tuanzi.loan.business.entity.galaxycard.GalaxyCardPrivilege;
import com.tuanzi.loan.vo.request.galaxycard.GalaxyCardPrivilegeSearchRequest;
import com.tuanzi.loan.vo.response.galaxycard.GalaxyCardPrivilegeSearchResponse;
import com.tuanzi.loan.core.vo.PageSearcher;
import org.springframework.data.domain.Page;

import java.util.Map;

/**
 * 权益管理 ServiceInterface
 * @author JinRuiyang 2018/2/8 16:24:42
 */
public interface GalaxyCardPrivilegeService {
    /**
     * GalaxyCardPrivilege查询
     * @param pageSearcher 请求信息
     * @return 响应列表
     */
    Page<GalaxyCardPrivilegeSearchResponse> list(PageSearcher<GalaxyCardPrivilegeSearchRequest> pageSearcher);

    Map<String, Long> getCardType();

    void refPrivilegeToCardType(Long privilegeId, Long cardType);

    void unrefPrivilegeToCardType(Long privilegeId, Long cardType);

    void addPrivilege(GalaxyCardPrivilege privilege);

    void addPrivilege(GalaxyCardPrivilege privilege, String show, String url);

    GalaxyCardPrivilege findById(Long id);

    void save(GalaxyCardPrivilege privilege);
}
